package com.example.springboottpl.service;

import com.example.springboottpl.util.Result;
import com.example.springboottpl.util.ResultPage;
import com.example.springboottpl.vo.common.DeleteBatchReqVo;
import com.example.springboottpl.vo.common.QueryDetailReqVo;
import com.example.springboottpl.vo.common.UpdateStatusReq;
import com.example.springboottpl.vo.req.QueryPostReqVo;
import com.example.springboottpl.vo.req.PostReqVo;
import com.example.springboottpl.vo.resp.PostRespVo;

/**
 * 描述：岗位信息
 * 作者：刘飞华
 * 日期：2025/01/13 17:57:36
 */
public interface PostService {

    /**
     * 添加岗位信息
     *
     * @param post 请求参数
     * @return int
     * @author 刘飞华
     * @date: 2025/01/13 17:57:36
     */
    Result<Integer> addPost(PostReqVo post);

    /**
     * 删除岗位信息
     *
     * @param post 请求参数
     * @return int
     * @author 刘飞华
     * @date: 2025/01/13 17:57:36
     */
    Result<Integer> deletePost(DeleteBatchReqVo post);

    /**
     * 更新岗位信息
     *
     * @param post 请求参数
     * @return int
     * @author 刘飞华
     * @date: 2025/01/13 17:57:36
     */
    Result<Integer> updatePost(PostReqVo post);

    /**
     * 更新岗位信息状态
     *
     * @param post 请求参数
     * @return int
     * @author 刘飞华
     * @date: 2025/01/13 17:57:36
     */
    Result<Integer> updatePostStatus(UpdateStatusReq post);

    /**
     * 查询岗位信息详情
     *
     * @param post 请求参数
     * @return PostResp
     * @author 刘飞华
     * @date: 2025/01/13 17:57:36
     */
    Result<PostRespVo> queryPostDetail(QueryDetailReqVo post);

    /**
     * 查询岗位信息列表
     *
     * @param post 请求参数
     * @return ResultPage<PostResp>
     * @author 刘飞华
     * @date: 2025/01/13 17:57:36
     */
    Result<ResultPage<PostRespVo>> queryPostList(QueryPostReqVo post);

}